查看原文
其他

Python面向对象编程从零开始(2)—— 与对象相互了解

2017-06-05 王大伟 Python爱好者社区

(点击上方Python爱好者社区,可快速关注)

作者:王大伟

博客专栏:https://www.hellobi.com/u/wangdawei/articles

Python爱好者社区  唯一小编  


前言

咳咳,接着昨天的故事继续

昨天的传送门:http://mp.weixin.qq.com/s?__biz=MzI5NDY1MjQzNA==&mid=2247483947&idx=1&sn=851d90d6742d3454ca89276be9636087&chksm=ec5edd56db2954405bcd048373a577fa3de33e3b05294fecbf44ef01afcf267de668cf359543&scene=21#wechat_redirect

昨天我们说了以下几点:

  1. 面向对象和面向过程的区别

  2. 对象和类

  3. 创建类

  4. 定义对象

  5. 类的三要素

今天继续来和对象(小姐姐)一起玩耍。

了解对象--小姐姐自我介绍


目前我们只知道小姐姐的姓名,芳龄,除了她喜欢开车,我不了解其他什么了。

所以我想让她做个自我介绍,然后可以深入了解。

让小姐姐(对象)自己介绍一下自己,她比较害羞,不想说一大串,她让我直接问她问题她回答。

所以我先要优化原来定义的类(接着上文结尾代码):

class Car:
   
   def drive(self):
       print('我正在开车')
   
   def turnover(self):
       print('翻车了')
       
   def introduce(self):
       print('%s的年龄是:%d'%(xiao_jie_jie.name,xiao_jie_jie.age))
       
#创建一个对象
xiao_jie_jie=Car()

xiao_jie_jie.drive()#调用xiao_jie_jie指向的对象的方法
xiao_jie_jie.turnover()


#添加属性,属性就是变量
xiao_jie_jie.name = '王梦瑶'
xiao_jie_jie.age = 20

xiao_jie_jie.introduce()

注意:只有最后一句是小姐姐自己的自我介绍(introduce),其他的都是我完成的啦。

是不是感觉,面向对象很有优势。

运行结果如下:



注意:这里把原来在类外写的print写在了类里,写在了introduce()方法里,然后调用introduce()方法实现自我介绍。


既然小姐姐都自我介绍了,为了表示相互尊重,我也要介绍一下自己。

我的自我介绍

myself = Car()

myself.name = '王大伟'
myself.age = 18

myself.features = '玉树临风 英俊潇洒 风流倜傥 貌似潘安 形貌昳丽 器宇轩昂 一表人才 雄姿英发 风度翩翩'
myself.introduce()

我把我自己也定义在Car这个类下,因为我也是个司机,myself也是Car这个类下的一个对象。

然后同样介绍了我的姓名和年龄

因为我不像小姐姐一样害羞啊

所以我自我介绍就多说了几句‘大实话’,并擅自帮小姐姐补充了一下自我介绍。

class Car:
   
   def drive(self):
       print('我正在开车')
   
   def turnover(self):
       print('翻车了')
       
   def introduce(self):
       print('%s的年龄是:%d,特点是:%s'%(self.name,self.age,self.features))
       
#创建一个对象
xiao_jie_jie=Car()

xiao_jie_jie.drive()#调用xiao_jie_jie指向的对象的方法
xiao_jie_jie.turnover()


#添加属性,属性就是变量
xiao_jie_jie.name = '王梦瑶'
xiao_jie_jie.age = 20
xiao_jie_jie.features = '北方有佳人 遗世而独立 一顾倾人城 再顾倾人国'

xiao_jie_jie.introduce()

myself = Car()

myself.name = '王大伟'
myself.age = 18
myself.features = '玉树临风 英俊潇洒 风流倜傥 貌似潘安 形貌昳丽 器宇轩昂 一表人才 雄姿英发 风度翩翩'

myself.introduce()

运行结果如下:



注意:划重点,因为我和小姐姐都要使用类中的方法introduce(),为了我和小姐姐这两个对象都能调用这个类中的方法,需要把introduce()方法传入的参数改成如下:


用self代替原来的xiao_jie_jie,self可以通俗理解为,谁调用了方法传的就是谁的参数进去,这里两次调用(小姐姐和我相互自我介绍,相当于传了xiao_jie_jie和myself进去)

这样,我们的自我介绍就完成了。

今天时间不多,只能更新这么多了。

想了解我与小姐姐的更多故事,请持续关注。



说到做到,新福利来啦:

关注公众号,在公众号菜单点击"免费听课",即可参与活动免费听19.9元收费课程,当然,壕大大可以直接购买听课啦。

壕大大入口:https://edu.hellobi.com/course/186,点击文末阅读原文可购买

本次主打课程:

Hellobi Live | 6月6日 自然语言处理之-基于深度学习技术的聊天机器人实现

课程名称:

自然语言处理之-基于深度学习技术的聊天机器人实现

课程背景:

NLP是一个很大的领域,自成一系,本次课程通过一个企业级案例(聊天机器人)带领大家从了解项目场景开始一步步搭建,最后演示聊天机器人实例。通过本课程的学习,让你一举打开NLP的大门。

主讲老师:

Kenny,计算机硕士,曾在某上市公司和世界500强公司分别担任智能算法工程师,高级算法挖掘工程师,具有多年的大数据项目开发实战经验,坚持在代码开发的一线,设计和实现了多个大数据项目。

Kenny博客专栏:https://ask.hellobi.com/blog/KennySayHi

直播时间:

2017年6月6日晚上8点到10点

课程内容:

1、 聊天机器人概括,应用场景,分类,技术发展路线及基于深度学习技术聊天机器人

2、 基于深度学习聊天机器人训练数据收集,清洗

3、 特征工程:文本数据预处理,特征化和数值化后转化为可训练的数据

4、 LSTM组件介绍

5、 Seq2seq算法介绍

6、 Seq2seq模型的优缺点和改进


Python爱好者社区


为大家提供与Python相关的最新技术和资讯


长按指纹 > 识别图中二维码 > 添加关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存